package app.vendorportal.api.marketplace.data;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author carl.you
 */
@XmlRootElement(name = "market-place-sync-order-detail")
@XmlAccessorType(XmlAccessType.FIELD)
public class MarketplaceSyncOrderDetail {

    @XmlElement(name = "order-id")
    private String orderId;

    @XmlElement(name = "pick-ticket-number")
    private String pickTicketNumber;

    @XmlElement(name = "order-date")
    private Date orderDate;

    @XmlElement(name = "ship-to-name")
    private String shipToName;

    @XmlElement(name = "ship-to-address1")
    private String shipToAddress1;

    @XmlElement(name = "ship-to-address2")
    private String shipToAddress2;

    @XmlElement(name = "ship-to-address3")
    private String shipToAddress3;

    @XmlElement(name = "ship-to-city")
    private String shipToCity;

    @XmlElement(name = "ship-to-state")
    private String shipToState;

    @XmlElement(name = "ship-to-zip")
    private String shipToZip;

    @XmlElement(name = "shipping-method")
    private String shippingMethod;

    @XmlElement(name = "requested-ship-date")
    private Date requestedShipDate;

    @XmlElement(name = "warehouse-code")
    private String warehouseCode;

    @XmlElement(name = "sku")
    private String sku;

    @XmlElement(name = "vendor-sku")
    private String vendorSku;

    @XmlElement(name = "quantity")
    private Integer quantity;

    @XmlElement(name = "unit-price")
    private BigDecimal unitPrice;

    @XmlElement(name = "order-response")
    private OrderResponse orderResponse;

    public static enum OrderResponse {
        FILL, KILL
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getPickTicketNumber() {
        return pickTicketNumber;
    }

    public void setPickTicketNumber(String pickTicketNumber) {
        this.pickTicketNumber = pickTicketNumber;
    }

    public Date getOrderDate() {
        return orderDate;
    }

    public void setOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }

    public String getShipToName() {
        return shipToName;
    }

    public void setShipToName(String shipToName) {
        this.shipToName = shipToName;
    }

    public String getShipToAddress1() {
        return shipToAddress1;
    }

    public void setShipToAddress1(String shipToAddress1) {
        this.shipToAddress1 = shipToAddress1;
    }

    public String getShipToAddress2() {
        return shipToAddress2;
    }

    public void setShipToAddress2(String shipToAddress2) {
        this.shipToAddress2 = shipToAddress2;
    }

    public String getShipToAddress3() {
        return shipToAddress3;
    }

    public void setShipToAddress3(String shipToAddress3) {
        this.shipToAddress3 = shipToAddress3;
    }

    public String getShipToCity() {
        return shipToCity;
    }

    public void setShipToCity(String shipToCity) {
        this.shipToCity = shipToCity;
    }

    public String getShipToState() {
        return shipToState;
    }

    public void setShipToState(String shipToState) {
        this.shipToState = shipToState;
    }

    public String getShipToZip() {
        return shipToZip;
    }

    public void setShipToZip(String shipToZip) {
        this.shipToZip = shipToZip;
    }

    public String getShippingMethod() {
        return shippingMethod;
    }

    public void setShippingMethod(String shippingMethod) {
        this.shippingMethod = shippingMethod;
    }

    public Date getRequestedShipDate() {
        return requestedShipDate;
    }

    public void setRequestedShipDate(Date requestedShipDate) {
        this.requestedShipDate = requestedShipDate;
    }

    public String getWarehouseCode() {
        return warehouseCode;
    }

    public void setWarehouseCode(String warehouseCode) {
        this.warehouseCode = warehouseCode;
    }

    public String getSku() {
        return sku;
    }

    public void setSku(String sku) {
        this.sku = sku;
    }

    public String getVendorSku() {
        return vendorSku;
    }

    public void setVendorSku(String vendorSku) {
        this.vendorSku = vendorSku;
    }

    public Integer getQuantity() {
        return quantity;
    }

    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    public BigDecimal getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(BigDecimal unitPrice) {
        this.unitPrice = unitPrice;
    }

    public OrderResponse getOrderResponse() {
        return orderResponse;
    }

    public void setOrderResponse(OrderResponse orderResponse) {
        this.orderResponse = orderResponse;
    }
}
